/**
 * Copyright (c) 2020 ~ 2021 KylinSec Co., Ltd.
 * kiran-control-panel is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 *
 * Author:     yuanxing <yuanxing@kylinsec.com.cn>
 */

#ifndef PREVIEWLABEL_H
#define PREVIEWLABEL_H

#include <QLabel>
#include <QObject>
#include <QWidget>

class PreviewLabel : public QLabel
{
public:
    explicit PreviewLabel(int wallpaperType, QString imgPath, QWidget *parent = 0);
    void setWallpaperPath(QString path);
    void setWallpaperType(int type);
    void updateWallpaper(int type, QString path);

private:
    void drawDesktopPreview(QPainter *painter);
    void drawLockScreenPreview(QPainter *painter);
    bool loadPixmap(QString imagePath);

protected:
    void paintEvent(QPaintEvent *event);

private:
    QPixmap m_wallpaperImg;
    int m_wallpaperType;
};

#endif  // PREVIEWLABEL_H
